<%-- 
    Document   : controlRegistro
    Created on : 17-sep-2011, 15:56:43
    Author     : Sebas
--%>

<%@page import="javax.xml.namespace.QName"%>
<%@page import="java.net.URL"%>
<%@page import="Proxies.EnumLogin"%>
<%@page import="Proxies.EnumVisibilidad"%>
<%@page import="javax.xml.datatype.XMLGregorianCalendar"%>
<%@page import="javax.xml.datatype.DatatypeFactory"%>
<%@page import="Proxies.DataUsuario"%>
<%@page import="Proxies.CtrlUsuariosWSService"%>
<%@page import="Proxies.CtrlUsuariosWS"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.Enumeration"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%

    String mail = request.getParameter("mail");
    String  nick = request.getParameter("nick");

    String IP = (String) session.getAttribute("SERVIDOR");
    URL dirUsr = new URL(IP + "CtrlUsuarios?wsdl");
    QName qNaUsr = new QName("http://WebServices/", "CtrlUsuariosWSService");
   CtrlUsuariosWS ctrlUsr = new CtrlUsuariosWSService(dirUsr, qNaUsr).getCtrlUsuariosWSPort();
    boolean yaExiste = ctrlUsr.containsKey(mail);
    boolean yaExisteNick = ctrlUsr.yaExisteNick(nick);
    
    DataUsuario du = new DataUsuario();
    
    if (yaExiste || yaExisteNick){
        session.setAttribute("error", "true");
        response.sendRedirect("registroUsr.jsp");
    } else {
        
        String pass = request.getParameter("password1");
        String nombre = request.getParameter("nombre");
        String sexo = request.getParameter("sexo");
        String ciudad = request.getParameter("ciudad");
        String pais = request.getParameter("pais");
        String visibilidad = request.getParameter("visibilidad");
        String img = request.getParameter("img");
        
        int fechaNacDia = Integer.parseInt(request.getParameter("fechaNacDia"));
        int fechaNacMes = Integer.parseInt(request.getParameter("fechaNacMes"));
        int fechaNacAnio = Integer.parseInt(request.getParameter("fechaNacAnio"));
        
        du.setNombre(nombre);
        du.setNick(nick);
        du.setCorreo(mail);
        du.setContrasena(pass);
        
        Calendar c = new GregorianCalendar();
        c.set(fechaNacAnio, fechaNacMes, fechaNacDia);
            GregorianCalendar cal = new GregorianCalendar();
            cal.setTime(c.getTime());
            XMLGregorianCalendar date = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
                
            du.setFechaNac(date);
            du.setSexo(sexo);
            du.setCiudad(ciudad);
        du.setPais(pais);
        du.setNivelVisibilidad(EnumVisibilidad.valueOf(visibilidad));
        du.setImagen(img);
        
        ctrlUsr.altaUsuario(du);
        session.setAttribute("estado_sesion", EnumLogin.LOGIN_CORRECTO);
        session.setAttribute("usr", du);
    }
    
%>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <link rel="stylesheet" type="text/css" href="Estilos/estilos.css"/>
        <script type="text/javascript" src ="js/funciones.js"></script>
        <title>RED - Registro correcto</title>
    </head>
    <body>
        <script>
            window.alert("Se ha registrado al usuario correctamente");
            window.location = "perfil.jsp";
        </script>
    </body>
</html>

